Electronic circuit design, and in particular the process of designing an analog or mixed signal circuit, has often been characterized as a “black art” because of the complex inter-relationships and tradeoffs that exist amongst the circuit's functional characteristics, design parameters and performance objectives. Because circuit designers often cannot fully comprehend all of these inter-relationships and tradeoffs, they have traditionally designed their circuits according to a “trial-and-error” approach. For instance, a designer might start with a nominal design, simulate it and then “tweak” one or two parameters to improve the simulation results. The process repeats until a circuit design is created whose simulation results indicate that the circuit can meet all of its performance requirements.
Recently, “equations based” engineering design tools have been introduced that define a circuit with a set of mathematical equations that effectively capture pertinent inter-relationships and tradeoffs mathematically. The circuit designer specifies known design parameters (such as manufacturing process related parameters) and desired functional characteristics (such as the gain-bandwidth product for an operational amplifier). The designer also specifies a parameter, referred to as “the objective”, about which the circuit design is to be optimized (such as minimizing power consumption or minimizing silicon chip surface area consumption). Left as open, undefined design variables are the dimensions (e.g., gate length, gate width and number of gate fingers) of specific transistors within the circuit.
The specifics provided by the designer are combined into the circuit's family of mathematical equations to form a “performance specification”. The performance specification is presented to a software tool, referred to as a problem solver, that “solves” the performance specification about the objective. That is, for example, in response to being presented with a performance specification, the problem solver provides as output information specific transistor dimensions that correspond to the circuit's minimum power consumption or minimum surface area consumption for a specific manufacturing process. Thus, using equation based tools, the time and expense of traditional trial-and-error design practices may be greatly reduced.
To date, equations based design techniques have been described for basic analog circuits (such as an op-amp) as well as complex analog or mixed signal systems (such as analog-to-digital-converter). The reader is referred to U.S. Pat. No. 6,269,277 (entitled, “System and Method For Designing Integrated Circuits” and filed on Jul. 27, 1998) as an example of the former and U.S. Pat. No. 6,954,921 (entitled, “Method and Apparatus For Automatic Analog/Mixed Signal System Design Using Geometric Programming” and filed on Apr. 7, 2002) as an example of the later. In the case of more complex systems, typically, the family of equations includes a more abstract or system-level definition of the circuit and the designer provides at least some design parameter specifics at the system-level.
Lower-level equations that describe the circuit at a more specific level of detail are then substituted into specific terms of the system level equations. The process of substituting more specific/detailed equations into terms of higher level equations continues until the family of equations for the system reaches a transistor level of detail (alternatively, the lower equations may simply be added to the performance specification). A performance specification that articulates the circuit at a transistor level of detail is ultimately provided to the problem solver which the solver solves to determine specific dimensions for specific transistors within the circuit and generate a transistor level netlist for the circuit that may be stored on a machine readable storage medium.
An equations based design process that generates, from an abstract definition of a generic feedback system, feedback constraints automatically configured for stable circuit operation and specially configured so that a problem solver will actually calculate a solution has heretofore not been described. The present application pertains to such a process.